
import java.awt.geom.GeneralPath;
import java.awt.geom.PathIterator;

public class CobaPath {

    public static void main(String[] args) throws Exception {
        GeneralPath path = new GeneralPath();
        path.moveTo(100, 100);
        path.moveTo(200, 100);
        path.closePath();
        
        PathIterator pi = path.getPathIterator(null);

        while (pi.isDone() == false) {
            describeCurrentSegment(pi);
            pi.next();
        }

    }

    public static void describeCurrentSegment(PathIterator pi) {
        double[] coordinates = new double[6];
        int type = pi.currentSegment(coordinates);
        switch (type) {
            case PathIterator.SEG_MOVETO:
                System.out.println("move to " + coordinates[0] + ", " + coordinates[1]);
                break;
            case PathIterator.SEG_LINETO:
                System.out.println("line to " + coordinates[0] + ", " + coordinates[1]);
                break;
            case PathIterator.SEG_QUADTO:
                System.out.println("quadratic to " + coordinates[0] + ", " + coordinates[1] + ", "
                        + coordinates[2] + ", " + coordinates[3]);
                break;
            case PathIterator.SEG_CUBICTO:
                System.out.println("cubic to " + coordinates[0] + ", " + coordinates[1] + ", "
                        + coordinates[2] + ", " + coordinates[3] + ", " + coordinates[4] + ", " + coordinates[5]);
                break;
            case PathIterator.SEG_CLOSE:
                System.out.println("close");
                break;
            default:
                break;
        }
    }
}
